package com.coolbi.common.util;

import java.lang.reflect.Type;
import java.util.List;

import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;

/**
 * Gson帮助类
 * @author MingliC
 *
 */
public class GsonUtil {
	
	public static Gson gson=new Gson();
	
	/**
	 * 将json array转为Java Arraylist
	 * @param <T>
	 * @param json
	 * @return
	 */
	public static <T> T toObjectList(String json){
		
		Type type=new TypeToken<List<T> >() {}.getType();
		
		return gson.fromJson(json, type);
		
	} 
	
	/**
	 * 将Json Object 对象转为JavaBean
	 * @param <T>
	 * @param json
	 * @param clazz
	 * @return
	 */
	public static <T> T toObject(String json,Class<T> clazz){
		return gson.fromJson(json, clazz);
	}
	
	/**
	 *  将JavaBean转为Json
	 * @param src
	 * @return
	 */
	public static String toJson(Object src){
		return gson.toJson(src);
	}
}